// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the RASCAL_TIMER_EXPORTS
// symbol defined on the command line. This symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// RASCAL_TIMER_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
#ifdef RASCAL_TIMER_EXPORTS
#define RASCAL_TIMER_API __declspec(dllexport)
#else
#define RASCAL_TIMER_API __declspec(dllimport)
#endif

#define MAX_LENGTH 100

class Timer {
private:
	HBITMAP actualCreateTitleDIB(HDC inDC);
	BOOL createTitleDIBBits(void);
	void releaseTitleDIB(void);
	

	wchar_t				mTitle[MAX_LENGTH];
	SIZE				mTitleSize;
	BYTE				mTitleDIBBits[100*50];
	long                mDIBWidthInBytes;
	long				mLastSecond;
public :
	BYTE* createTimerDIB();
	DWORD getDibWidth();
	DWORD getDibHeight();
	DWORD getDibWidthInBytes();
	Timer();
};